perm filename WINGED.FAI[GEO,BGB] blob sn#001319 filedate 1972-10-28 generic text, type T, neo UTF8
00100	TITLE WINGED
00200	
00300	; ALTERNATE PDP-10 MNEMONICS.
00400		OPDEF DIP [HRLM]
00500		OPDEF DAP [HRRM]
00600		OPDEF CAR [HLRZ]
00700		OPDEF CDR [HRRZ]
00800		OPDEF NIP [HLRE]
00900		OPDEF NAP [HRRE]
01000		OPDEF RIP [HLLE] ; REAL FROM INSTRUCTION PART.
01100		OPDEF GO  [JRST]
01200		OPDEF LAC [MOVE]
01300		OPDEF DAC [MOVEM]
01400	
01500	;SAIL LIKE SUBROUTINE LINKAGE.
01600		P←17
01700		DEFINE ARG1<-1(17)>
01800		DEFINE ARG2<-2(17)>
     

00100	;FETCH LINK FROM NODE.
00200		DEFINE SUBR (NAME,XXX,I){
00300		INTERN NAME↔NAME: LAC 1,ARG1↔XXX 1,0 I(1)
00400		SUB P,[XWD 2,2]↔GO @2(P)}
00500	
00600		SUBR(PART  ,NIP,-3)	SUBR(COPART,NAP,-3)
00700		SUBR(EXTENT,CAR,-2)	SUBR(LOCOR ,CDR,-2)
00800		SUBR(PNAME ,CAR,-1)	SUBR(DISK  ,CDR,-1)
00900		SUBR(TYPE  ,CAR,+0)	SUBR(SERIAL,CDR,+0)
01000		SUBR(NFACE ,CAR,+1)	SUBR(PFACE ,CDR,+1)
01100		SUBR(NED   ,CAR,+2)	SUBR(PED   ,CDR,+2)
01200		SUBR(NVT   ,CAR,+3)	SUBR(PVT   ,CDR,+3)
01300		SUBR(NCW   ,CAR,+4)	SUBR(PCW   ,CDR,+4)
01400		SUBR(NCCW  ,CAR,+5)	SUBR(PCCW  ,CDR,+5)
01500		SUBR(FCNT  ,CAR,+4)	SUBR(VCNT  ,CDR,+4)
01600		SUBR(ECNT  ,CAR,+5)	SUBR(PCNT  ,CDR,+5)
01700		SUBR(NBODY ,CAR,+6)	SUBR(PBODY ,CDR,+6)
01800		SUBR(NUF   ,CAR,+7)	SUBR(PUF   ,CDR,+7)
01900		SUBR(NCNT  ,NIP,+2)	SUBR(TJOINT,CDR,+1)
02000		SUBR(X1DC  ,NIP,-3)	SUBR(Y1DC  ,NAP,-3)
02100		SUBR(X2DC  ,NIP,-2)	SUBR(Y2DC  ,NAP,-2)
02200		SUBR(XDC   ,RIP,+1)	SUBR(YDC   ,RIP,+2)
02300		SUBR(ALT,CAR,+6);
02400	
02500	;FETCH DATA FROM NODE.
02600	
02700		SUBR(IX,LAC,+0)	SUBR(IY,LAC,+1)	SUBR(IZ,LAC,+2)
02800		SUBR(JX,LAC,+3)	SUBR(JY,LAC,+4)	SUBR(JZ,LAC,+5)
02900		SUBR(KX,LAC,+6)	SUBR(KY,LAC,+7)	SUBR(KZ,LAC,+8)
     

00100	;STORE LINK INTO NODE.
00200		DEFINE SUBR(NAME,XXX,I){
00300		INTERN NAME↔NAME: LAC 1,ARG1↔LAC ARG2↔XXX 0 I(1)
00400		SUB P,[XWD 3,3]↔GO @3(P)}
00500	
00600		SUBR(PART. ,DIP,-3)	SUBR(COPAR.,DAP,-3)	
00700		SUBR(EXTEN.,DIP,-2)	SUBR(LOCOR.,DAP,-2)	
00800		SUBR(PNAME.,DIP,-1)	SUBR(DISK. ,DAP,-1)	
00900		SUBR(TYPE. ,DIP,+0)	SUBR(SERIA.,DAP,+0)	
01000	
01100		SUBR(NFACE.,DIP,+1)	SUBR(PFACE.,DAP,+1)	
01200		SUBR(NED.  ,DIP,+2)	SUBR(PED.  ,DAP,+2)	
01300		SUBR(NVT.  ,DIP,+3)	SUBR(PVT.  ,DAP,+3)	
01400	
01500		SUBR(NCW.. ,DIP,+4)	SUBR(PCW.. ,DAP,+4)	
01600		SUBR(NCCW..,DIP,+5)	SUBR(PCCW..,DAP,+5)	
01700	
01800		SUBR(FCNT. ,DIP,+4)	SUBR(VCNT. ,DAP,+4)	
01900		SUBR(ECNT. ,DIP,+5)	SUBR(PCNT. ,DAP,+5)	
02000		SUBR(NBODY.,DIP,+6)	SUBR(PBODY.,DAP,+6)	
02100		SUBR(NUF.  ,DIP,+7)	SUBR(PUF.  ,DAP,+7)	
02200		SUBR(NCNT. ,DIP,+2)	SUBR(TJOIN.,DAP,+1)	
02300		SUBR(ALT.,DIP,+6);
02400	
02500	END